﻿using System;
using System.Diagnostics;
using System.Text;

namespace 字符串的方法
{

	//一切类型都可以用ToString();

			/* Length:字符串的长度
			 * toUpper:将字符串转换成大写
			 * toLower：将字符串转换成小写
			 * Equals(s2, StringComparison.OrdinalIgnoreCase)): 比较两个字符串忽略大小写ss
			 */
	class Program
	{
		static void Main(string[] args)
		{
			#region string和char[]
			//string s = "a123v";
			////可以把string看出char的只读数组
			////修改需要把string转换为char数组
			//char[] schar = s.ToCharArray();
			//schar[0] = '差';
			////再重新转换回来，实际新弄了个堆中的数据
			//s = new string(schar);
			////ToCharArray() 把字符串转换为 char[]
			////new string(char[]) 把char数组转换为string
			//Console.WriteLine(s[0]);
			//Console.WriteLine(s);
			#endregion
			#region StringBuilder和String
			////StringBuilder 不在内存中开新空间，string会。
			////适合对string数据进行大量更改时候使用
			//StringBuilder str = new StringBuilder();
			//Stopwatch sw = new Stopwatch();
			//sw.Start();
			//for (int i = 0; i < 1000000; i++)
			//{
			//	str.Append(i);
			//}
			//sw.Stop();
			//Console.WriteLine(sw.Elapsed);
			////Console.WriteLine(str.ToString());
			//Console.ReadKey();
			#endregion
			#region 字符串几个属性
			//string s = "caacasfgSFASF";
			//int sLength = s.Length;
			//string s1 = s.ToUpper();
			//string s2 = s.ToLower();
			//if (s.Equals(s2, StringComparison.OrdinalIgnoreCase))
			//{
			//	Console.WriteLine("S1=S2");
			//}
			
			#endregion
			#region  字符串切割
			//string s = "a  3 _ 32fa .. ,, asd d";
			//char[] chs = { ' ', '_', ',', '.' };
			//string[] str = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);
			//// StringSplitOptions.RemoveEmptyEntries :切掉空
			//Console.ReadKey();
			#endregion
			#region  字符串替换,截取,判断开头和结尾
			string str = "重点人物毛主席";
			if (str.Contains("毛"))
			{
			    str = str.Replace("毛", "*");
			}
			Console.WriteLine(str);
			//截取字符串 Substring()
			str = str.Substring(2, 3);
			Console.WriteLine(str);
			if (str.StartsWith("人物"))
			{
				Console.WriteLine("开头");
			}
			if (str.EndsWith("*"))
			{
				Console.WriteLine("结尾");
			}
			Console.ReadKey();
			#endregion

		
		}
	}
}
